#ifndef PLUGIN_CONTROL_H
#define PLUGIN_CONTROL_H

#include <dlfcn.h>
#include <string.h>

#include "list.h"
#include "plugin.h"
#include "core_plugin.h"

struct plugin_table 
{
	char *plugin_id;
	char *filename;
	void *handle;
};

struct plugin_control 
{
	struct core_plugin *core_plugin_t;
	struct list *plugin_list;				/*TODO: combine this */
	struct list *plugin_table_list; /*and this */
	void (*notify_core)( char *msg );
	int (*send_message)( char *msg );
};

struct plugin_control * new_plugin_control( void *notify );
void delete_plugin_control();


#endif /* PLUGIN_CONTROL_H */
